// import 'dart:convert';
// import 'package:baselib/unvariable_base/utils/log_util.dart';
// import 'package:baselib/unvariable_base/utils/navigator_util.dart';
// import 'package:baselib/unvariable_base/utils/toast_utils.dart';
// import 'package:baselib/unvariable_base/widgets/refresh_util.dart';
// import 'package:baselib/variable_base/base/base_view_model.dart';
// import 'package:baselib/variable_base/net/api/base_api.dart';
// import 'package:baselib/variable_base/net/baseentity.dart';
// import 'package:baselib/variable_base/utils/res_util.dart';
// import 'package:get/get.dart';
// import 'package:module_function/module_comm/service/module_comm_service.dart';
// import 'package:module_function/module_driver/service/module_driver_service.dart';
// import 'package:module_function/module_driver/service/net/driver_api.dart';
// import 'package:pull_to_refresh_flutter3/pull_to_refresh_flutter3.dart';
//
// class CommSelectListViewModel extends BaseViewModel<ModuleCommService> {
//
//   ModuleCommService commService;
//   ModuleDriverService moduleDriverService;
//   RefreshController refreshController = RefreshController(initialRefresh: true);
//   RefreshState loadStatus=RefreshState.OK;
//   int page = 1;
//   bool isCanMoreData = true;
//   String title='';
//   String tag='';
//   bool editble;
//   bool isSingle;
//   //被选中的数据
//   List<dynamic> selectedValues=[];
//   List<dynamic> dataLists=[];
//
//   @override
//   ModuleCommService createService() {
//     moduleDriverService = ModuleDriverService();
//     return (commService = ModuleCommService());
//   }
//   @override
//   void onInit() {
//     Map<String,dynamic> arguments = Get.arguments??{};
//     LogUtil.d('arguments=$arguments');
//     selectedValues= (arguments['selectedValues']??[]);
//     title=arguments['title'];
//     tag=arguments['tag'];
//     editble=(arguments['editble']??true);
//     isSingle=(arguments['isSingle']??true);
//     super.onInit();
//   }
//   @override
//   void onReady() {
//     super.onReady();
//   }
//   onRefresh({int pageCur,}) async{
//     LogUtil.d('onRefresh-->刷新refreshController=$refreshController,pageCur=$pageCur,tag=$tag');
//     if(pageCur!=null)page=pageCur;
//     BaseEntity baseEntity= await getData();
//     if(refreshController!=null)refreshController.refreshCompleted();
//     if(refreshController!=null)refreshController.loadComplete();
//     if(baseEntity?.code==BaseApi.SUCCESS_CODE){
//       List<dynamic> dataTemp=baseEntity?.data??[];
//       if(page==1){
//         dataLists=dataTemp;
//       }else{
//         dataLists.addAll(dataTemp);
//       }
//       LogUtil.d('onRefresh-->dataLists=${dataLists.map((e) => e.toString()).toList()}');
//       if(((dataTemp?.length??0)<10)){
//         isCanMoreData=false;
//       }else{
//         isCanMoreData=true;
//       }
//       if(tag== DriverApi.instance.vehicle_no_bind_vehicle){
//         isCanMoreData=false;
//       }
//       //计算是否为空
//       if(((dataLists?.length??0)==0)){
//         loadStatus=RefreshState.EMPTY;
//       }else{
//         //计算被选中的
//         _countSelectedData();
//         loadStatus=RefreshState.OK;
//       }
//     }else{
//       loadStatus=RefreshState.NET_ERROR;
//       ToastUtils.toast(baseEntity?.msg);
//     }
//     update();
//   }
//
//   onItemTap(int index) {
//     if (isSingle) {
//       //清楚所有选中
//       _clearSelect();
//       dataLists[index]?.selected = true;
//     } else {
//       dataLists[index]?.selected=!(dataLists[index]?.selected??false);
//     }
//     update();
//   }
//   void _clearSelect() {
//     dataLists.forEach((dataItem) {
//       dataItem.selected = false;
//     });
//   }
//  Future<BaseEntity> getData() async{
//     Map<String,dynamic> parmsMap={
//       'pageSize':10,
//       'currPage':page,
//     };
//     // if ((keyword ?? '').isNotEmpty) parmsMap['keyword'] = keyword;
//     BaseEntity baseEntity;
//     //获取账本
//     if(tag== DriverApi.instance.vehicle_no_bind_vehicle){
//       baseEntity = await moduleDriverService.vehicle_no_bind_vehicle();
//     }
//     return baseEntity;
//   }
//   //计算备选中的
//   void _countSelectedData() {
//     LogUtil.d('_countSelectedData-->selectedValues=>${selectedValues?.length}');
//     (dataLists??[]).forEach((dataItem) {
//       (selectedValues??[]).forEach((selectedValue) {
//         if((DriverApi.instance.vehicle_no_bind_vehicle ==tag)){
//           if ((dataItem?.id == selectedValue?.id)) {
//             dataItem?.selected = true;
//             return;
//           }
//         }
//       });
//     });
//   }
//
//   back() {
//     NavigatorUtil.goBack();
//   }
//   //确认返回
//   confirm() {
//     var listTemps = dataLists?.where((e) => (e?.selected ?? false))?.toList() ?? [];
//     if (listTemps?.length == 0) {
//       ToastUtils.toast(StringUtils.pleaseselect + title??'');
//       return;
//     }
//     NavigatorUtil.goBack(result: {'result': listTemps});
//   }
//
// }